<?php
class formulario extends controller
{
	private $t = null;
	public function __construct( & $plantilla)
	{
		//$plantilla->assign('TITLE','Listando los alimentos');
		$this->t = & $plantilla;
	}
	public function menu()
	{
		return $this->t->parse('menu')->render();
	}
	public function animal_seccion($id = 0)
	{
		$DATOS = DB::SELECT('animal_seccion','*','WHERE seccion_id=?')->set($id)->fetch(DB::FETCH_ASSOC);
		if(!empty($_POST['animal_seccion'])){
			$T = &$_POST['animal_seccion'];
			$cols = array('animal_nombre','achura_o_corte','posicion','fotografia','nombres', 'definicion','link');
			if(intval(@$T['seccion_id']) > 0){
				array_unshift($cols,'seccion_id');
				$consulta = DB::update('animal_seccion',$cols,'WHERE seccion_id=:seccion_id')
									   ->set(system::arrayFilter($T,$cols));
				if($consulta->rowCount()>0)
				{
					$msg = 'SE actualizo Correctamente '. $T['nombres'];
				}
			}
			else
			{
				$consulta = DB::insert('animal_seccion',$cols);
				$consulta->set(system::arrayFilter($T,$cols));
				if($consulta->rowCount() >0)
				{
					$msg = 'SE inserto Correctamente '. $T['nombres'];
				}
			}
			echo empty($msg)? 'UN ERROR A OCURRIDO : ' . implode("<br />\n --", $consulta->errorinfo()) :$msg;
		}
		else
		{
			$this->t->parse('formulario/animal_seccion');
				$this->t->assigns(empty($DATOS)?array() : $DATOS);
		 	echo $this->t->render();
		}
		die();
	}
	public function clase($id = 0)
	{
		$DATOS = DB::SELECT('clase','*','WHERE id_clase=?')->set($id)->fetch(DB::FETCH_ASSOC);
		if(!empty($_POST['clase'])){
			$T = &$_POST['clase'];
			//$msg = 'UN ERROR A OCURRIDO';
			$cols = array('id_clase','id_name','name','abrev','img','texto');
			if(intval(@$T['id_clase']) > 0){
				array_unshift($cols, 'id_clase');
				$consulta = DB::update('clase',$cols,'WHERE id_clase=:id_clase')->set(system::arrayFilter($T,$cols));
				if($consulta->rowCount()>0)
				{
					$msg = 'SE actualizo Correctamente '. $T['name'];
				}
				elseif($consulta->errorinfo(1) == null){
					$msg = 'No se hizo ninguna modificacion en ' . $T['name'];
				}
			}
			else
			{
				$consulta = DB::insert('clase',$cols);	
				$consulta->set(system::arrayFilter($T,$cols));
				if($consulta->rowCount() >0)
				{
					$msg = 'SE inserto Correctamente '. $T['name'];
				}
			}
			echo empty($msg)? 'UN ERROR A OCURRIDO : ' . implode("<br />\n --", $consulta->errorinfo()) :$msg;
		}
		else
		{
			$this->t->parse('formulario/clase');
				$this->t->assigns(empty($DATOS)?array() : $DATOS);
		 	echo $this->t->render();
		}
		die();
	}
	public function regiones($id = 0)
	{
		$DATOS = DB::SELECT('regiones','*','WHERE id_region=?')->set($id)->fetch(DB::FETCH_ASSOC);
		if(!empty($_POST['regiones'])){
			$T = &$_POST['regiones'];
			//$msg = 'UN ERROR A OCURRIDO';
			$cols = array('id_region','region_name','prov','otro');
			if(intval(@$T['id_region']) > 0){
				array_unshift($cols, 'id_region');
				$consulta = DB::update('regiones',$cols,'WHERE id_region=:id_region')->set(system::arrayFilter($T,$cols));
				if($consulta->rowCount()>0)
				{
					$msg = 'SE actualizo Correctamente '. $T['region_name'];
				}
				elseif($consulta->errorinfo(1) == null){
					$msg = 'No se hizo ninguna modificacion en ' . $T['region_name'];
				}
			}
			else
			{
				$consulta = DB::insert('regiones',$cols);	
				$consulta->set(system::arrayFilter($T,$cols));
				if($consulta->rowCount() >0)
				{
					$msg = 'SE inserto Correctamente '. $T['region_name'];
				}
			}
			echo empty($msg)? 'UN ERROR A OCURRIDO : ' . implode("<br />\n --", $consulta->errorinfo()) :$msg;
		}
		else
		{
			$this->t->parse('formulario/regiones');
				$this->t->assigns(empty($DATOS)?array() : $DATOS);
		 	echo $this->t->render();
		}
		die();
	}
	public function platos($id = 0)
	{
		$DATOS = DB::SELECT('platos','*','WHERE id_plato=?')->set($id)->fetch(DB::FETCH_ASSOC);
		if(!empty($_POST['platos'])){
			$T = &$_POST['platos'];
			//$msg = 'UN ERROR A OCURRIDO';
			$cols = array('id_plato','name','foto','clase','regiones','prov','descrip','linkA');
			if(intval(@$T['id_plato']) > 0){
				array_unshift($cols, 'id_plato');
				$consulta = DB::update('platos',$cols,'WHERE id_plato=:id_plato')->set(system::arrayFilter($T,$cols));
				if($consulta->rowCount()>0)
				{
					$msg = 'SE actualizo Correctamente '. $T['name'];
				}
			}
			else
			{
				$consulta = DB::insert('platos',$cols)->set(system::arrayFilter($T,$cols));
				if($consulta->rowCount() >0)
				{
					$msg = 'SE inserto Correctamente '. $T['name'];
				}
			}
			echo empty($msg)? 'UN ERROR A OCURRIDO : ' . implode("<br />\n --", $consulta->errorinfo()) :$msg;
		}
		else
		{
			$this->t->parse('formulario/platos');
				$this->t->assigns(empty($DATOS)?array() : $DATOS)
				->assign('CLASE', DB::SELECT('clase',explode(',','id_clase,name'))->set()->fetchAll(DB::FETCH_ASSOC))
				->assign('REGIONES_', DB::SELECT('regiones',explode(',','id_region,region_name'))->set()->fetchAll(DB::FETCH_ASSOC));
		 	echo $this->t->render();
		}
		 die();
	}
	
	public function getDefault()
	{
		return $this->menu(). "<h1>Se retorna las cosas como deben ser </h1>";
	}
	public function error404($metodo)
	{
		//return parent::error404($metodo);
		
		return $metodo;
	}
}